TECHNICAL REPORT 94-02 A Framework for Minimizing Thread Management Overhead Based on Asynchronous Cooperation between User and Kernel Schedulers

نویسندگان

  • Shigekazu Inohara
  • Takashi Masuda
چکیده

The performance of thread mechanism is dominated primarily by two kinds of thread-switching overheads: vertical switching (user/kernel domain switching) and horizontal switching (context switching between threads). Ideally, vertical switchings should occur only when system calls or external interrupts are invoked. Horizontal switchings within a user address space should occur only when threads synchronize with one another. Horizontal switchings in the kernel should occur only when processors are redistributed among user address spaces. Existing thread mechanisms, however, do not function ideally in a multiprogrammed system because (1) user-level programs determine how many threads to use, (2) the kernel does not inform the user level of which nor how many threads are actually being assigned processors, and/or (3) interaction between the kernel and user-level schedulers is synchronous. This paper presents a thread mechanism that minimizes the thread-switching overhead by avoiding these three problems; the kernel scheduler determines how many threads to use in each user address space, the kernel scheduler lets user-level schedulers know which threads are actually being assigned processors, and all interaction between the kernel scheduler and user-level schedulers is asynchronous. Employing these three ideas, the proposed mechanism minimizes thread switchings both in the kernel and in the user level, under the assumption that threads are managed without o -line information on applications to run. ANY OTHER IDENTIFYING INFORMATION OF THIS REPORT Submitted to IEEE Transactions on Parallel and Distributed Systems DISTRIBUTION STATEMENT First Issue 40 copies SUPPLEMENTARY NOTES REPORT DATE January 19, 1994 TOTAL NO. OF PAGES 24 WRITTEN LANGUAGE English NO. OF REFERENCES 22 DEPARTMENT OF INFORMATION SCIENCE Faculty of Science, University of Tokyo 7-3-1 Hongo, Bunkyo-ku Tokyo, 113 Japan A Framework for Minimizing Thread Management Overhead Based on Asynchronous Cooperation between User and Kernel Schedulers Shigekazu Inohara and Takashi Masuda

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

"Unstable Threads" Kernel Interface for Minimizing the Overhead of Thread Switching

The performance of threads is limited primarily by the overhead of two kinds of switching: vertical switching (user/kernel domain switching) and horizontal switching (context switching between threads). Although these switchings are indispensable in some situations, existing thread mechanisms involve unnecessary switchings on multiprogrammed systems, because of inappropriate interfaces between ...

متن کامل

User-Level Scheduling with Kernel Threads

Today’s operating systems provide kernel threads for parallel applications and multi-threaded servers. Scheduling plays an important role with regard to efficiency and fairness — especially for distributed applications, multimedia processing and server processes. A multi-threaded application should be able to specify the scheduling strategy for its threads itself. In most modern operating syste...

متن کامل

Strands : An E cient and Extensible Thread Management Architecture

Applications can signi cantly bene t from specializing thread packages, schedulers and synchronization primitives to their needs. In prior systems, specialization has been accomplished through a partitioning of service across the user-kernel boundary. The kernel provides some basic control ow services while user code implements the specialized interface. This approach, though, has been shown to...

متن کامل

Controlling Kernel Scheduling from User Space: An Approach to Enhancing Applications' Reactivity to I/O Events

In this paper, we present a sophisticated mechanism that allows an application to tightly control the way I/O events are handled within the underlying operating system’s kernel. The goal is to provide an efficient user-level interface to allow applications to quickly detect and handle asynchronous I/O events. Reactivity is obviously a crucial property for many time-critical applications. For in...

متن کامل

Asynchronous Problems on SIMD Parallel Computers

One of the essential problems in parallel computing is: can SIMD machines handle asynchronous problems? This is a di cult, unsolved problem because of the mismatch between asynchronous problems and SIMD architectures. We propose a solution to let SIMD machines handle general asynchronous problems. Our approach is to implement a runtime support system which can run MIMD-like software on SIMD har...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994